using System;
using Com.Binaria.Core.Dto;

namespace Com.Binaria.SISCOB.Funcional.DTO 
{

    [Serializable]
    public class IngresoFuncionalDTO : PaginadoDTO
    {

        public System.Int32? Id
        {
            get;
            set;
        }

        public System.String Tipo
        {
            get;
            set;
        }

        public System.String Estado
        {
            get;
            set;
        }

        public System.String EstadoText
        {
            get;
            set;
        }

        string _Text = string.Empty;
        public string Text
        {
            get { return string.IsNullOrEmpty(_Text) ? (DocumentoTransaccion != null ? string.Format("NmrDcto: {0} Monto: {1}", DocumentoTransaccion.NmrDocumento, DocumentoTransaccion.Monto.ToString()) : Id.ToString()) : _Text; }
        }

        public DocumentoTransaccionFuncionalDTO DocumentoTransaccion
        {
            get;
            set;
        }

        public System.String NmrDocumento
        {
            get { return (DocumentoTransaccion != null ? DocumentoTransaccion.NmrDocumento : "undefined"); }
            set { if (DocumentoTransaccion == null) DocumentoTransaccion = new DocumentoTransaccionFuncionalDTO(); DocumentoTransaccion.NmrDocumento = value; }
        }

        public System.String Monto
        {
            get { return (DocumentoTransaccion != null ? DocumentoTransaccion.Monto.ToString() : "undefined"); }
            set { if (DocumentoTransaccion == null) DocumentoTransaccion = new DocumentoTransaccionFuncionalDTO(); DocumentoTransaccion.Monto = (string.IsNullOrEmpty(value) ? 0 : Convert.ToInt64(value)); }
        }

        public System.String FchDocumento
        {
            get { return (DocumentoTransaccion != null ? DocumentoTransaccion.FchDocumentoText : "undefined"); }
            set { if (DocumentoTransaccion == null) DocumentoTransaccion = new DocumentoTransaccionFuncionalDTO(); DocumentoTransaccion.FchDocumentoText = value; }
        }

        public System.String NmrCuenta
        {
            get { return (DocumentoTransaccion != null ? DocumentoTransaccion.CuentaCorrienteFDTO.NmrCuenta : "undefined"); }
        }

        public System.Int32 CuentaCorriente
        {
            set { if (DocumentoTransaccion == null) DocumentoTransaccion = new DocumentoTransaccionFuncionalDTO(); DocumentoTransaccion.CuentaCorriente = value; }
        }

        public System.String Glosa
        {
            get { return (DocumentoTransaccion != null ? DocumentoTransaccion.Glosa : "undefined"); }
        }

        public System.String EstaActivo
        {
            get { return (DocumentoTransaccion != null ? DocumentoTransaccion.EstaActivo.ToString() : "undefined"); }
        }

        public System.String UserName
        {
            get { return (DocumentoTransaccion != null ? DocumentoTransaccion.UserName : "undefined"); }
        }

        public System.String FchDesde
        {
            get;
            set;
        }

        public System.String FchHasta
        {
            get;
            set;
        }
    }
}
